.clearfix
{
  *zoom:1;
}
.clearfix:before, .clearfix:after
{
  display:table;
  line-height:0;
  content:"";
}
.clearfix:after
{
  clear:both;
}
.light_bg
{
  background:#fff;
}
.dotting
{
  display:inline-block;
  min-width:2px;
  min-height:2px;
  box-shadow:2px 0 currentColor, 6px 0 currentColor, 10px 0 currentColor;
  -webkit-animation:dot 4s infinite step-start both;
  animation:dot 4s infinite step-start both;
  &::before
  {
    content:"";
  }
}
@-webkit-keyframes dot
{
  25%
  {
    box-shadow:none;
  }
  50%
  {
    box-shadow:2px 0 currentColor;
  }
  75%
  {
    box-shadow:2px 0 currentColor, 6px 0 currentColor;
  }
}
@keyframes dot
{
  25%
  {
    box-shadow:none;
  }
  50%
  {
    box-shadow:2px 0 currentColor;
  }
  75%
  {
    box-shadow:2px 0 currentColor, 6px 0 currentColor;
  }
}
.inline-block
{
  display:inline-block;
}
.vertical-top
{
  vertical-align:top;
}
.vertical-middle
{
  vertical-align:middle;
}
.vertical-bottom
{
  vertical-align:bottom;
}
.normal
{
  font-weight:normal;
}
.text-left
{
  text-align:left;
}
.text-center
{
  text-align:center;
}
.text-right
{
  text-align:right;
}
.relative
{
  position:relative;
}
.no-padding
{
  padding:0 !important;
}
.padding5
{
  padding:5px;
}
.padding5-h
{
  padding-left:5px;
  padding-right:5px;
}
.padding5-v
{
  padding-top:5px;
  padding-bottom:5px;
}
.padding
{
  padding:10px;
}
.padding-h
{
  padding-left:10px;
  padding-right:10px;
}
.padding-v
{
  padding-top:10px;
  padding-bottom:10px;
}
.padding15
{
  padding:15px;
}
.padding15-h
{
  padding-left:15px;
  padding-right:15px;
}
.padding15-v
{
  padding-top:15px;
  padding-bottom:15px;
}
.padding20-h
{
  padding-left:20px;
  padding-right:20px;
}
.padding20-v
{
  padding-top:20px;
  padding-bottom:20px;
}
.margin5
{
  margin:5px;
}
.margin5-h
{
  margin-left:5px;
  margin-right:5px;
}
.margin5-v
{
  margin-top:5px;
  margin-bottom:5px;
}
.margin
{
  margin:10px;
}
.margin-h
{
  margin-left:10px;
  margin-right:10px;
}
.margin-v
{
  margin-top:10px;
  margin-bottom:10px;
}
.margin15
{
  margin:15px;
}
.margin15-h
{
  margin-left:15px;
  margin-right:15px;
}
.margin15-v
{
  margin-top:15px;
  margin-bottom:15px;
}
.margin20-h
{
  margin-left:20px;
  margin-right:20px;
}
.margin20-v
{
  margin-top:20px;
  margin-bottom:20px;
}
.padding-top
{
  padding-top:10px;
}
.padding-top5
{
  padding-top:5px;
}
.padding-top15
{
  padding-top:15px;
}
.margin-top
{
  margin-top:10px;
}
.margin-top5
{
  margin-top:5px;
}
.margin-top15
{
  margin-top:15px;
}
.border-top
{
  border-top:1px solid #e3e3e3;
}
.border-top-half
{
  position:relative;
  &:after
  {
    content:" ";
    position:absolute;
    left:0;
    right:0;
    width:100%;
    height:1px;
    -webkit-transform:scaleY(0.5);
    transform:scaleY(0.5);
    top:0;
    border-top:1px solid #d9d9d9;
    color:#d9d9d9;
    -webkit-transform-origin:0 0;
    transform-origin:0 0;
  }
}
.padding-left
{
  padding-left:10px;
}
.padding-left5
{
  padding-left:5px;
}
.padding-left15
{
  padding-left:15px;
}
.margin-left
{
  margin-left:10px;
}
.margin-left5
{
  margin-left:5px;
}
.margin-left15
{
  margin-left:15px;
}
.border-left
{
  border-left:1px solid #e3e3e3;
}
.border-left-half
{
  position:relative;
  &:after
  {
    content:" ";
    position:absolute;
    top:0;
    bottom:0;
    height:100%;
    width:1px;
    -webkit-transform:scaleX(0.5);
    transform:scaleX(0.5);
    left:0;
    border-left:1px solid #d9d9d9;
    color:#d9d9d9;
    -webkit-transform-origin:0 0;
    transform-origin:0 0;
  }
}
.padding-right
{
  padding-right:10px;
}
.padding-right5
{
  padding-right:5px;
}
.padding-right15
{
  padding-right:15px;
}
.margin-right
{
  margin-right:10px;
}
.margin-right5
{
  margin-right:5px;
}
.margin-right15
{
  margin-right:15px;
}
.border-right
{
  border-right:1px solid #e3e3e3;
}
.border-right-half
{
  position:relative;
  &:after
  {
    content:" ";
    position:absolute;
    top:0;
    bottom:0;
    height:100%;
    width:1px;
    -webkit-transform:scaleX(0.5);
    transform:scaleX(0.5);
    right:0;
    border-right:1px solid #d9d9d9;
    color:#d9d9d9;
    -webkit-transform-origin:0 0;
    transform-origin:0 0;
  }
}
.padding-bottom
{
  padding-bottom:10px;
}
.padding-bottom5
{
  padding-bottom:5px;
}
.padding-bottom15
{
  padding-bottom:15px;
}
.margin-bottom
{
  margin-bottom:10px;
}
.margin-bottom5
{
  margin-bottom:5px;
}
.margin-bottom15
{
  margin-bottom:15px;
}
.border-bottom
{
  border-bottom:1px solid #e3e3e3;
}
.border-bottom-half
{
  position:relative;
  &:after
  {
    content:" ";
    position:absolute;
    left:0;
    right:0;
    width:100%;
    height:1px;
    -webkit-transform:scaleY(0.5);
    transform:scaleY(0.5);
    bottom:0;
    border-bottom:1px solid #d9d9d9;
    color:#d9d9d9;
    -webkit-transform-origin:0 0;
    transform-origin:0 0;
  }
}
.border-padding-left:after
{
  left:15px;
}
.border-padding-right:after
{
  right:15px;
}
.border
{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%'><line x1='0' y1='0' x2='100%' y2='0' stroke='black' stroke-width='1'/><line x1='0' y1='0' x2='0' y2='100%' stroke='black' stroke-width='1'/><line x1='100%' y1='0' x2='100%' y2='100%' stroke='black' stroke-width='1'/><line x1='0' y1='100%' x2='100%' y2='100%' stroke='black' stroke-width='1'/></svg>");
}
.border-half
{
  position:relative;
  &:after
  {
    content:"";
    position:absolute;
    width:200%;
    height:200%;
    border:1px solid #d9d9d9;
    transform-origin:0 0;
    transform:scale(0.5, 0.5);
    box-sizing:border-box;
    left:0;
    top:0;
    right:0;
    bottom:0;
  }
}
.fs10
{
  font-size:10px;
}
.fs11
{
  font-size:11px;
}
.fs12
{
  font-size:12px;
}
.fs13
{
  font-size:13px;
}
.fs14
{
  font-size:14px;
}
.fs15
{
  font-size:15px;
}
.fs16
{
  font-size:16px;
}
.fs17
{
  font-size:17px;
}
.fs18
{
  font-size:18px;
}
.fs19
{
  font-size:19px;
}
.fs20
{
  font-size:20px;
}
.fs21
{
  font-size:21px;
}
.fs22
{
  font-size:22px;
}
.fs23
{
  font-size:23px;
}
.fs24
{
  font-size:24px;
}
.fs25
{
  font-size:25px;
}
.fs26
{
  font-size:26px;
}
.fs27
{
  font-size:27px;
}
.fs28
{
  font-size:28px;
}
.float_left
{
  float:left;
}
.float_right
{
  float:right;
}
.flex_box
{
  display:flex;
}
.flex_item
{
  flex:1;
}
.flex_direction_column
{
  flex-direction:column;
}
.flex_direction_row
{
  flex-direction:row;
}
.flex_center
{
  justify-content:center;
}
.item_center
{
  align-self:center;
}
.overflow_auto
{
  overflow:auto;
  height:100%;
  -webkit-overflow-scrolling:touch;
}
.footer
{
  height:40px;
}
